# coding=utf-8

'''
Created on 22/03/2011

@author: matheus
'''

'''
Exercício 14. Escreva um programa que leia da entrada sucessivos números e verifique se cada número 
digitado é um número perfeito. Um número perfeito é aquele cuja soma de seus divisores próprios 
(excluindo ele mesmo) é igual ao próprio número. Por exemplo: 6 é um número perfeito pois 1 + 2 + 3 = 6. 
O programa deve parar quando for digitado um número negativo. Veja o exemplo de execução abaixo.
'''

def divisores_proprios( dividendo ):
    result = []

    for num in range(1, dividendo ):
        if dividendo % num == 0:
            result.append( num )
    
    return result


numero = input( "número? ")

while ( numero >= 0 ):
    
    divisores = divisores_proprios( numero )
    
    if len( divisores ) > 0 and numero == sum( divisores ):
        print "%d é um número perfeito" % numero
    else:
        print "%d não é um número perfeito" % numero
    
    numero = input( "número? ")

